Spring JDBC - 4.Primary Key 생성 기능 :: 스프링(spring)/아이바티스(IBatis)/하이버네이트(Hibernate)[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

스프링(spring)/아이바티스(IBatis)/하이버네이트(Hibernate)
[1]
등록일:2008-06-11 11:29:31 (0%)
작성자:
제목:Spring JDBC - 4.Primary Key 생성 기능

Spring JDBC에서는 Object에서는 Oracle 데이터베이스의 SEQUENCE와 같은 생성 기능을 지원하고 있다. 이때 프로젝트에서 사용하고 있는 데이터베이스의 종류에 따라 다른 방식으로 Primary Key 생성 기능을 제공하고 있다. Oracle데이터베이스와 같이 SEQUENCE를 사용하는 경우에는 SEQUENCE를 이용하며, 그렇지 않은 경우에는 별도의 테이블을 통하여 SEQUENCE와 같은 역할을 하도록 구현하는 것이 가능하다.

 

[예제4-13]applicationContext.xml

<beans>
 <bean id="boardIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
  <property name="dataSource" ref="dataSource" />
  <property name="incrementerName" value="BOARDSEQUENCE" />
  <property name="columnName" value="VALUE" />
 </bean>

 

 <bean id="boardFileIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
  <property name="dataSource" ref="dataSource" />
  <property name="incrementerName" value="BOARDFILESEQUENCE" />
  <property name="columnName" value="VALUE" />
 </bean>


 <bean id="boardDAOTarget" parent="myJdbcDaoSupport" class="net.javajigi.board.dao.SpringJDBCWithTemplateBoardDAO">
  <property name="incrementer">
   <ref local="boardIncrementer" />
  </property>
 </bean>

 

 <bean id="boardFileDAOTarget" parent="myJdbcDaoSupport" class="net.javajigi.board.dao.SpringJDBCWithMSBoardFileDAO">
  <property name="incrementer">
   <ref local="boardFileIncrementer" />
  </property>
 </bean>

 

... 중간 생략 ...

 

</beans>

 

[예제4-14]SpringJDBCWithMSBoardDAO.java

 

package net.javajigi.board.dao;

 

public class SpringJDBCWithMSBoardDAO extends MyJdbcDaoSupport implements
        BoardDAO {

 

    public Board insert(Board board) throws DataAccessException {
        int boardNo = getIncrementer().nextIntValue();
        board.setBoardNo(boardNo);

        Object[] values = { new Integer(boardNo), board.getTitle(),
                board.getName(), board.getEmail(), board.getPassword(),
                board.getCreateDate(), board.getContent() };
        insert.update(values);

        return board;
    }

}

 

org.springframework.jdbc.support.incrementer 패키지를 보면 MySQL 데이터베이스뿐만 아니라 다른 데이터베이스를 지원하기 위한 클래스들을 확인할 수 있다.

[본문링크] Spring JDBC - 4.Primary Key 생성 기능
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=30332
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.